package com.yihuan.mapper;

import com.yihuan.entity.CompanyEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Author:梦醒
 * Date: 2022/4/19 12:18
 * Dream:
 * 信言不美，美言不信。
 * 善者不辩，辩者不善。
 * 知者不博，博者不知。
 * Function:公司登记
 */
@Mapper
public interface CompanyMapper {
    /**
     * 根据公司名称状态已通过
     *
     * @param companyEntity
     * @return
     */
    List<CompanyEntity> findCompanyByCompName(CompanyEntity companyEntity);
    
    /**
     * 根据公司名称状态未通过
     *
     * @param companyEntity
     * @return
     */
    List<CompanyEntity> findCompanyByCompNameAndCompState(CompanyEntity companyEntity);
    
    /**
     * 根据公司编号是否存在
     *
     * @param companyEntity
     * @return
     */
    List<CompanyEntity> findCompanyByCompIDAndCompCode(CompanyEntity companyEntity);
    
    /**
     * 查询店铺名称是否注册过
     *
     * @param companyEntity
     * @return
     */
    int insertCompanyByCompanyData(CompanyEntity companyEntity);
    
    
    /**
     * 分页查询数据
     *
     * @param companyEntity
     * @return
     */
    List<CompanyEntity> findCompanyByCompanyList(CompanyEntity companyEntity);
    
    /**
     * 统计分页查询数据
     *
     * @param
     * @return
     */
    int countCompanyList();
    
    /**
     * 模糊分页查询数据
     *
     * @param companyEntity
     * @return
     */
    List<CompanyEntity> findCompanyByCompanyConcatList(CompanyEntity companyEntity);
    
    /**
     * 模糊统计分页查询数据
     *
     * @param companyEntity
     * @return
     */
    int countCompanyConcatList(CompanyEntity companyEntity);
    
    /**
     * 更改商铺信息状态
     *
     * @param companyEntity
     * @return
     */
    int updateCompanyByCompState(CompanyEntity companyEntity);
    
    /**
     * 查询按公司编号
     *
     * @param companyEntity
     * @return
     */
    List<CompanyEntity> findCompanyByCompID(CompanyEntity companyEntity);
    
    /**
     * 注册密钥
     *
     * @param companyEntity
     * @return
     */
    int updateCompanyByCompStateAndCode(CompanyEntity companyEntity);
    
    
    /**
     * 前端分页查询数据
     *
     * @param companyEntity
     * @return
     */
    List<CompanyEntity> findCompanyByCompanyListAndCompState(CompanyEntity companyEntity);
    
    /**
     * 前端统计分页查询数据
     *
     * @return
     */
    int countCompanyListAndCompState();
    
    /**
     * 前端分页查询数据  按地址
     *
     * @param companyEntity
     * @return
     */
    List<CompanyEntity> findCompanyByCompanyListAndCountryID(CompanyEntity companyEntity);
    
    /**
     * 前端统计分页查询数据 按地址
     *
     * @return
     */
    int countCompanyListAndCountryID(CompanyEntity companyEntity);
}